-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify raft component CMake logic, and allow compilation without FAISS #428
Simplify raft component CMake logic, and allow compilation without FAISS #428
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving ops-codeowner
file changes
… export set and CPM downloaded modes
…_cmake_raft_target_logic
cpp/CMakeLists.txt
Outdated
@@ -100,96 +105,141 @@ endif() | |||
# add third party dependencies using CPM | |||
rapids_cpm_init() | |||
|
|||
# thrust and libcudacxx need to be before cuco! | |||
include(cmake/thirdparty/get_thrust.cmake) | |||
# cuco before rmm to properly configure thrust/cub |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cjnolet We should restore the call to include(cmake/thirdparty/get_thrust.cmake)
as the first line before cuco or rmm.
If we have cuco as the first entry it will bring in thrust 1.12 which we don't want. By having our thrust
first that will fetch 1.15 and will stop cuco from fetching 1.12
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@robertmaynard, I need some help here then.
Without this change, I get a thrust cmake error when building cuml (locally) about the incorrect cub verison being picked up (1.12). With this change, cuml builds (locally) successfully and I believe it's pulling in thrust 1.15 because I would have expected to get a cub build error in HDBSCAN if it were not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@trxcllnt also opened a PR to cuco to update the thrust version to 1.15, which we're using in this PR: NVIDIA/cuCollections#134. I notice RMM doesn't seem to specify a thrust version: https://github.com/rapidsai/rmm/blob/branch-22.04/cmake/thirdparty/get_thrust.cmake. Is that getting set automatically by rapids cpm somehow?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes for rmm it uses the version specified by versions.json
in rapids-cmake
@@ -0,0 +1,9 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not seeing a package_override load of this file, so it will do nothing.
…aynard/raft into refactor_cmake_raft_target_logic
@gpucibot merge |
The previous logic didn't allow for developers to build raft without FAISS as
raft_nn
was always required to be built.